package com.sunmnet.j2ee.service.powerdb.designer;


import com.sunmnet.j2ee.core.pub.QueryFilter;
import com.sunmnet.j2ee.entity.powerdb.designer.Project;
import com.sunmnet.j2ee.service.BaseService;

import java.util.List;
import java.util.Map;

/**
 * AccountService
 * <p/>
 * 由代码生成器生成
 */
public interface ProjectService extends BaseService<Project, Long> {

	/**
	 * 保存项目和账户关系
	 * @param projectId
	 * @param accountIds
	 * @param right 权限 1读写  2 只读
	 * @return
	 */
	short saveProjectRelAccount(Long projectId, String accountIds, int right) throws Exception;

	int checkRepeat(Project project);

	/**
	 * 删除项目和账户的关系
	 * @param projectId
	 * @param accountIds
	 * @return
	 */
	//void deleteProjectRelAccount(Long projectId, String accountIds);
	short deleteProjectRelAccount(Long projectId, String accountIds) throws Exception;

	/**
	 * 修改项目和账户间的关系
	 *  1、删除数据库和账户间所有关系
	 *  2、新增数据库和账户间的所有关系
	 */

	/**
	 * 定义查询项目用户的接口
	 */
	List getAccounts(Long projectId)throws Exception;



	/**
	 * 定义查询所有项目数据的接口
	 */
	List<Map<String, Object>> getProjectInfo(QueryFilter filter);

	/**
	 * 根据模块id查找项目，并查找负责任人姓名
	 *
	 * @param projectId
	 * @return
	 * @throws Exception
	 */
	Map getProjectById(long projectId) throws Exception;

}